package com.ruoyi.wms.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.excel.annotation.ExcelDictFormat;
import com.ruoyi.common.excel.convert.ExcelDictConvert;
import com.ruoyi.wms.domain.entity.employee.EmployeeSalary;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 员工薪酬视图对象 employee_salary
 *
 * @author 邓滔滔
 * @date 2024-11-29
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = EmployeeSalary.class)
public class EmployeeSalaryVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ExcelProperty(value = "主键ID")
    private Long id;

    /**
     * 员工ID
     */
    @ExcelProperty(value = "员工ID")
    private Long employeeId;

    /**
     * 基本工资-k指标
     */
    @ExcelProperty(value = "基本工资-k指标")
    private BigDecimal baseSalary;

    /**
     * 津贴-p指标
     */
    @ExcelProperty(value = "津贴-p指标")
    private BigDecimal allowance;

    /**
     * 奖金-I指标
     */
    @ExcelProperty(value = "奖金-I指标")
    private BigDecimal bonus;

    /**
     * 工资发放状态(0-未发放，1已发放）
     */
    @ExcelProperty(value = "工资发放状态(0-未发放，1已发放）", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "salay_status")
    private Integer status;

    /**
     * 扣款
     */
    @ExcelProperty(value = "扣款")
    private BigDecimal deduction;

    /**
     * 实发工资
     */
    @ExcelProperty(value = "实发工资")
    private BigDecimal netSalary;

    /**
     * 发薪周期
     */
    @ExcelProperty(value = "发薪周期")
    private Date payPeriod;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remarks;


}
